//
// file : inet_nix.h
// date : 10/21/07
//
// unix specific
//
#ifndef INET_NIX_H_
#define INET_NIX_H_

#include <sys/types.h>
#include <sys/times.h>
#include <sys/wait.h>
#include <sched.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <errno.h>

#ifndef IPC_STACK_SIZE
    #define IPC_STACK_SIZE  (1<<20)
#endif

#define sock_error()      errno
#define thread_id_()      getpid()
#define set_event_(h)     sem_wakeobj((int)h)

#define HIWORD(dw)        (int)(((unsigned long)dw)>>16)
#define LOWORD(dw)        (int)(((unsigned long)dw)&0xffff)

#ifdef __cplusplus
extern "C" {
#endif

unsigned long tick_count(void);
int  sem_wakeobj(int sem_id);
int  sem_waitobj(int sem_id, long ms);

#ifdef __cplusplus
}
#endif


#endif // INET_NIX_H_

